package com.uzhie.web.module;

import com.uzhie.exception.BaseDataException;
import org.hibernate.validator.constraints.NotEmpty;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

/**
 *
 * 字典表基础对象
 * Created by lilongfei on 2018/7/12.
 */
@Table(name="mjm_base_data")
public class BaseData implements Serializable,Cloneable{
    /** 字典ID */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @NotEmpty(message = BaseDataException.Status.ID_ISNULL)
    private String id ;
    /** 字典编码 */
    private String code ;
    /** 字典key */
    private String dKey ;
    /** 字典value */
    private String dValue ;
    /** 父节点id */
    private String parentId ;
    /** 父节点编码 */
    private String parentCode ;
    /** 状态 */
    private Integer status ;
    /** 等级 */
    private Integer level ;
    /** 创建人id */
    private String createId ;
    /** 创建人姓名 */
    private String createName ;
    /** 创建时间 */
    private Date createTime ;
    /** 修改人id */
    private String updateId ;
    /** 修改人姓名 */
    private String updateName ;
    /** 修改时间 */
    private Date updateTime ;
    /** 字典信息备注 */
    private String remark;

    /** 字典类型  {部门类型 = 1 ,车辆类型= 3,终端类型= 4,报警类型= 5,其他= 6,生产厂家 = 7,车牌颜色 = 8} */
    private String type;

    public BaseData(){
        this.level = 0;
        this.status = -1;
    }

    /** 字典ID */
    public String getId(){
        return this.id;
    }
    /** 字典ID */
    public void setId(String id){
        this.id = id;
    }
    /** 字典编码 */
    public String getCode(){
        return this.code;
    }
    /** 字典编码 */
    public void setCode(String code){
        this.code = code;
    }
    /** 字典key */
    public String getdKey(){
        return this.dKey;
    }
    /** 字典key */
    public void setdKey(String dKey){
        this.dKey = dKey;
    }
    /** 字典value */
    public String getdValue(){
        return this.dValue;
    }
    /** 字典value */
    public void setdValue(String dValue){
        this.dValue = dValue;
    }
    /** 父节点id */
    public String getParentId(){
        return this.parentId;
    }
    /** 父节点id */
    public void setParentId(String parentId){
        this.parentId = parentId;
    }
    /** 父节点编码 */
    public String getParentCode(){
        return this.parentCode;
    }
    /** 父节点编码 */
    public void setParentCode(String parentCode){
        this.parentCode = parentCode;
    }
    /** 状态 */
    public Integer getStatus(){
        return this.status;
    }
    /** 状态 */
    public void setStatus(Integer status){
        this.status = status;
    }
    /** 等级 */
    public Integer getLevel(){
        return this.level;
    }
    /** 等级 */
    public void setLevel(Integer level){
        this.level = level;
    }
    /** 创建人id */
    public String getCreateId(){
        return this.createId;
    }
    /** 创建人id */
    public void setCreateId(String createId){
        this.createId = createId;
    }
    /** 创建人姓名 */
    public String getCreateName(){
        return this.createName;
    }
    /** 创建人姓名 */
    public void setCreateName(String createName){
        this.createName = createName;
    }
    /** 创建时间 */
    public Date getCreateTime(){
        return this.createTime;
    }
    /** 创建时间 */
    public void setCreateTime(Date createTime){
        this.createTime = createTime;
    }
    /** 修改人id */
    public String getUpdateId(){
        return this.updateId;
    }
    /** 修改人id */
    public void setUpdateId(String updateId){
        this.updateId = updateId;
    }
    /** 修改人姓名 */
    public String getUpdateName(){
        return this.updateName;
    }
    /** 修改人姓名 */
    public void setUpdateName(String updateName){
        this.updateName = updateName;
    }
    /** 修改时间 */
    public Date getUpdateTime(){
        return this.updateTime;
    }
    /** 修改时间 */
    public void setUpdateTime(Date updateTime){
        this.updateTime = updateTime;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
}